home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / src / fig07_08.jar / Ch07 / Fig07_08 / Time6.cpp < prev    next >
C/C++ Source or Header  |  1997-10-20  |  2KB  |  70 lines

  1. // Fig. 7.8: time.cpp 
  2. // Member function definitions for Time class.
  3. #include "time6.h"
  4. #include <iostream.h>
  5.  
  6. // Constructor function to initialize private data.
  7. // Calls member function setTime to set variables.
  8. // Default values are 0 (see class definition).
  9. Time::Time( int hr, int min, int sec ) 
  10.    { setTime( hr, min, sec ); }
  11.  
  12. // Set the values of hour, minute, and second.
  13. Time &Time::setTime( int h, int m, int s )
  14. {
  15.    setHour( h );
  16.    setMinute( m );
  17.    setSecond( s ); 
  18.    return *this;   // enables cascading
  19. }
  20.  
  21. // Set the hour value
  22. Time &Time::setHour( int h )
  23. {
  24.    hour = ( h >= 0 && h < 24 ) ? h : 0;
  25.  
  26.    return *this;   // enables cascading
  27. }
  28.  
  29. // Set the minute value
  30. Time &Time::setMinute( int m )
  31. {
  32.    minute = ( m >= 0 && m < 60 ) ? m : 0;
  33.  
  34.    return *this;   // enables cascading
  35. }
  36.  
  37. // Set the second value
  38. Time &Time::setSecond( int s )
  39. {
  40.    second = ( s >= 0 && s < 60 ) ? s : 0;
  41.  
  42.    return *this;   // enables cascading
  43. }
  44.  
  45. // Get the hour value
  46. int Time::getHour() const { return hour; }
  47.  
  48. // Get the minute value
  49. int Time::getMinute() const { return minute; }
  50.  
  51. // Get the second value
  52. int Time::getSecond() const { return second; }
  53.  
  54. // Display military format time: HH:MM:SS
  55. void Time::printMilitary() const
  56. {
  57.    cout << ( hour < 10 ? "0" : "" ) << hour << ":"
  58.         << ( minute < 10 ? "0" : "" ) << minute;
  59. }
  60.  
  61. // Display standard format time: HH:MM:SS AM (or PM)
  62. void Time::printStandard() const
  63. {
  64.    cout << ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ) 
  65.         << ":" << ( minute < 10 ? "0" : "" ) << minute 
  66.         << ":" << ( second < 10 ? "0" : "" ) << second
  67.         << ( hour < 12 ? " AM" : " PM" );
  68. }
  69.  
  70.